package com.topscore.uke.mvp.contractors;

import com.chad.library.adapter.base.BaseQuickAdapter;
import com.kingja.loadsir.core.LoadService;
import com.topscore.uke.entities.StuffListEntity;
import com.topscore.uke.mvp.model.BaseHttpListener;
import com.topscore.uke.mvp.views.BaseView;
import com.topscore.uke.network.BaseResponse;
import com.topscore.uke.network.request.GetStuffListRequest;
import com.topscore.uke.network.retrofit.ApiService;
import com.topscore.uke.network.retrofit.NetClientPostJson;

/**
 * Created by 71468 on 2018/3/14.
 */

public interface GetStuffListContractor {
    interface Model {
        ApiService mService = NetClientPostJson.getInstance().net().create(ApiService.class);

        void getStuffList(GetStuffListRequest request, CallBack callBack);
    }

    interface View extends BaseView {
        BaseQuickAdapter getRecyclerAdapter();

        LoadService getLoadService();

        void onPageEnd();
    }

    interface Presenter {
        void getStuffByClassId(int classId);

        void getStuffByKeyWords(String keyWord);

        void getStuffByCategory(int category);

        void getStuffBySort(int sort);

        void getStuffByBrand(String brand);

        void getNextPage();

    }

    interface CallBack extends BaseHttpListener {
        void onGetDataSuccess(BaseResponse<StuffListEntity> response);
    }
}
